package com.xique.park.bean.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xique.common.core.annotation.Excel;
import lombok.Data;

import java.util.Date;

/**
 * 设备--new对象 t_park_device_new
 *
 * @author xique
 * @date 2021-12-09
 */
@Data
public class ParkDeviceNew {

    private static final long serialVersionUID = 1L;

    /**
     * 自动增量
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    private String name;

    /**
     * 父设备id
     */
    @Excel(name = "父设备id")
    private Long parentId;

    /**
     * 是否为主设备：Y是，N否
     */
    @Excel(name = "是否为主设备：Y是，N否")
    private String isMain;

    /**
     * 是否直接驱动语音显示：Y是，N否
     */
    @Excel(name = "是否直接驱动语音显示：Y是，N否")
    private String isControlLed;

    /**
     * 车场id
     */
    @Excel(name = "车场id")
    private Long parkId;

    /**
     * 通道id
     */
    @Excel(name = "通道id")
    private Long laneId;

    /**
     * 设备类型：：edge-cb边缘计算控制器，cloud-ipc:云摄像机，comm-ipc:普通摄像机，comm-cb：显示语音控制板
     */
    @Excel(name = "设备类型：：edge-cb边缘计算控制器，cloud-ipc:云摄像机，comm-ipc:普通摄像机，comm-cb：显示语音控制板")
    private String type;

    /**
     * 型号
     */
    @Excel(name = "型号")
    private String model;

    /**
     * ip地址
     */
    @Excel(name = "ip地址")
    private String ip;

    /**
     * 设备编号
     */
    @Excel(name = "设备编号")
    private String code;

    /**
     * 外接控制板消息处理类型（all-全部消息 led-LED显示屏消息 voice-语音播报消息）
     */
    @Excel(name = "外接控制板消息处理类型", readConverterExp = "a=ll-全部消息,l=ed-LED显示屏消息,v=oice-语音播报消息")
    private String controlMsgType;

    /**
     * 外接控制板端口
     */
    @Excel(name = "外接控制板端口")
    private Long controlPort;

    /**
     * 外接控制板类型：1-欧冠；2-科发/通道捂脸；3-方控
     */
    @Excel(name = "外接控制板类型：1-欧冠；2-科发/通道捂脸；3-方控")
    private String controlType;

    /**
     * 软件版本号
     */
    @Excel(name = "软件版本号")
    private String softwareVersion;

    /**
     * 表记录的状态（normal-正常 delete-删除）
     */
    @Excel(name = "表记录的状态", readConverterExp = "normal-正常,delete-删除")
    private String recordStatus;

    /**
     * 状态（normal-启用 pause-停用）
     */
    @Excel(name = "状态", readConverterExp = "normal-启用,pause-停用")
    private String status;

    /**
     * 主相机上传的设备配置信息放在此字段
     */
    private String remark;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private Long createUser;

    /**
     * 更新人
     */
    @Excel(name = "更新人")
    private Long updateUser;

    /**
     * 是否为边缘网关设备，默认为否
     */
    @Excel(name = "是否为边缘网关设备，默认为否")
    private String isGateway;

    /**
     * 是否配置SD卡
     */
    @Excel(name = "是否配置SD卡")
    private String isSd;

    /**
     * 设备在线状态实体封装
     */
    @Excel(name = "设备在线状态实体封装")
    private String onlineStatus;

    /**
     * 排序
     */
    @Excel(name = "排序")
    private Long sort;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @TableField(exist = false)
    private int countAll;

    /**
     * 通道名称
     */
    @TableField(exist = false)
    private String laneName;

    /**
     * 岗亭类型，in,out,inout
     */
    @TableField(exist = false)
    private String laneType;
}
